This invention relates to bit encoding methods for microcontroller based distributed systems, and particularly but not exclusively to such methods which require time synchronisation without a bus master controller.
Several bit encoding methods are known which facilitate serial communications protocols for data traffic on distributed microcontroller systems, where there is no bus master controller. These typically seek the best compromise between synchronisation (to ensure fault free data transmission), effective use of available bandwidth and lowest possible Electro-Magnetic Interference (EMI) emissions.
For example, a transmitting microcontroller node using the Controller Area Network (CAN) protocol ensures that synchronisation across a network is maintained by xe2x80x98stuffingxe2x80x99 extra bits into a message after five consecutive high or low bits have been transmitted. The stuffed bit is of the opposite polarity to the five previous bits and the receiver is able to synchronise to the extra edge or edges in the message. Thus, synchronisation is achieved at the cost of loss of bandwidth and a small increase in EMI emissions.
Another example, which employs Manchester encoding, divides each bit time into two parts, one clock and one data. In this case, synchronisation is maintained and EMI emissions are kept satisfactory by the encoding, which produces an average edge per bit count of approximately 0.75, but at the expense of bandwidth which is effectively halved.
Therefore what is needed is a new bit encoding method for serial communication which overcomes the problems of synchronisation within a distributed system architecture and EMI emissions, while utilising bandwidth to the full.
This invention seeks to provide a bit-encoding system and method which mitigate the above mentioned disadvantages.
According to a first aspect of the present invention there is provided a bit encoding system for use with a bus of a distributed microcontroller network, comprising a first substantially sinusoidal waveform which is amplitude modulated between first and second amplitudes to define first and second data values, and which has a predetermined periodic parameter for defining timing information for the bus.
According to a second aspect of the present invention there is provided a bit encoding method for bit encoding a bus of a distributed microcontroller network, the method comprising: amplitude modulating a first substantially sinusoidal waveform between first and second amplitudes to define first and second data values; and, using a predetermined periodic parameter for defining timing information for the bus.
Preferably the amplitude modulation is selectively switched between the first and second amplitudes substantially at the occurrence of the periodic parameter. The predetermined periodic parameter is preferably a zero crossing point of the first sinusoidal waveform. Preferably the predetermined periodic parameter is the negative to positive zero crossing point of the sinusoidal waveform.
The system or method preferably further comprises a second substantially sinusoidal waveform provided for a second bus, the further waveform being amplitude modulated in antiphase to the first waveform, and having a predetermined periodic parameter for defining timing information for the second bus.
Preferably the predetermined periodic parameter of the second wavelength is phase shifted by a half wavelength from the predetermined periodic parameter of the first wavelength.
In this way a new bit encoding system and method for serial communication are provided which overcome the problems of achieving synchronisation while maintaining low EMI emissions and exhibiting efficient use of bandwidth.